package org.apache.rocketmq.client.java.hook;

import  org.apache.rocketmq.client.java.message.MessageCommon;

import java.time.Duration;
import java.util.List;

/**
 * @课程描述:从零带你写框架系列中的课程，整个系列包含netty，xxl-job，rocketmq，nacos，sofajraft，spring，springboot，disruptor，编译器，虚拟机等等。
 * @author：陈清风扬，个人微信号：chenqingfengyangjj。
 * @date:2025/6/10
 * @方法描述：消息拦截器接口
 */
public interface MessageInterceptor {

    void doBefore(MessageHookPoints messageHookPoints, List<MessageCommon> messageCommons);


    void doAfter(MessageHookPoints messageHookPoints, List<MessageCommon> messageCommons, Duration duration,
                 MessageHookPointsStatus status);
}
